#ifndef INTERFACE_MDLE_H
#define INTERFACE_MDLE_H

#include <QWidget>
#include <QTableWidget>
#include <QVector>
#include <QVariantList>
#include "../../public_opt_subs/table_mdle/funciton_blck/QTableWidgetSave.h"
#include "../../MACRO.h"
// --------------------------------------------
// 增加从index访问对应IO的宏定义函数

namespace Ui {
class interface_mdle;
}

class interface_mdle : public QWidget
{
    Q_OBJECT

public:
    explicit interface_mdle(QWidget *parent = nullptr);
    ~interface_mdle();
    // --------------------------------------------
    // 注册各类总线到此处，方便连接信号和槽
    // 本来想用函数指针数组实现的，但是类型转化一直报错
    // 干脆直接用虚函数重写的方式实现
    // 假设最多的总线个数是9个， 更大的器件就需要分割逻辑了，不然界面的效果就不太好了
signals: //直接在器件层次增加IO，子类只需要把信号连接到父类，就可以得到逻辑与图像的关联
    void itf_in_rx( QVariantList &);
    void itf_in_tx( QVariantList &);
    void itf_out_tx( QVariantList &);
    void itf_out_rx( QVariantList &);



private:
    Ui::interface_mdle *ui;

protected:
    QTableWidgetSave *table; //创建端口的配置参数
};

#endif // INTERFACE_MDLE_H
